

#ifndef __I_LOADING_H__
#define __I_LOADING_H__

#include <cecore/iqf.h>
#include <cecore/ifile.h>
#include <cegfx/ceeffect.h>
#include <cegfx/cematerial.h>
#include <d3d9.h>

struct iTextureLoader
{
	virtual bool CanLoad (iFile* file) const = 0;

	virtual LPDIRECT3DTEXTURE9 Load (LPDIRECT3DDEVICE9 device, iFile* file) = 0;
};

struct iEffectLoader
{
	virtual bool CanLoad (iFile* file) const = 0;

	virtual ceEffect* Load (LPDIRECT3DDEVICE9 device, iFile* file) = 0;
};

struct iMaterialLoader
{
	virtual bool CanLoad (iFile* file) const = 0;

	virtual ceString LoadName (iFile* file) = 0;

	virtual ceMaterial* Load (LPDIRECT3DDEVICE9 device, iFile* file) = 0;
};



#endif /* ! __I_LOADING_H__ */ 
